Un tableau de valeur est une structure dont les données sont sauvegardées et historisées en BDD LINA.
Ils sont utilisés pour les structures importantes du projet comme : Recette, paramétrage machine, paramétrage production … L’objectif étant de sauvegarder les données importantes dans la BDD LINA, libérant la mémoire automate, pallier à toute mauvaise saisie par un utilisateur et rétablir les données dans l’automate après une réinitialisation.
Pour chaque modification d’une donnée d’un tableau de valeur en cours, manuellement dans LINA ou par l’automate, le tableau est archivé et une nouvelle version est créée puis activée. Les tableaux de valeurs sont ainsi sauvegardés et historisés avec un numéro de version.

Figure 24 : Historisation de tableaux
Dans le cadre d’un calibrage, il n’est pas nécessaire d’utiliser un tableau de valeur : l’option calibrage de LINA gère la sauvegarde des données.
Les nouveaux enregistrements des tableaux de valeurs ou les demandes de mise à jour par l’automate sont assurés par un mécanisme d’échange, standardisé par une structure que nous allons détailler.
Le format du modèle UDT_ECH_LINA_TB permet la gestion des tableaux de valeur :

Figure 25 : Modèle UDT_ECH_LINA_TB
2.6.1 Le flux LINA-API
Flux de la demande d’écriture directe :
Pour demander la mise à jour des données dans sa mémoire, l’automate fera une DeManDe d’écriture d’un tableau de valeur. C’est le cas d’un automate réinitialisé :

Figure 26 : MNEMO_DMD_ECRITURE
API écrira dans le mnémonique MNEMO_DMD_ECRITURE le code du tableau de valeur associé. Il s’agit d’un numéro identifiant unique qui est défini par l’automatisme.
Une fois traité, LINA écrit dans l’automate les données renseignées dans la version active du tableau de valeur :

Figure 27 : MNEMO_NOTIF_FIN_ECRITURE_LINA
Pour clôturer la demande, LINA écrit :
- MNEMO_DMD_ECRITURE à 0 ;
- Le code dans MNEMO_NOTIF_FIN_ECRITURE_LINA quand LINA a terminé l’envoi.
L’automate lit les données :

Figure 28 : Reset mnemo_notif_fin_écriture_lina
API termine l’échange avec MNEMO_NOTIF_FIN_ECRITURE_LINA à 0.
Flux de la demande de lecture :
Si l’automate met à jour une donnée d’un tableau de valeur, il fera une DeManDe de lecture à LINA pour la sauvegarde en BDD. C’est le cas d’une modification d’une donnée via une IHM :

Figure 29 : MNEMO_DMD_LECTURE
API écrira dans le mnémonique MNEMO_DMD_LECTURE le code du tableau de valeur associé. LINA procédera à la lecture de la structure mnémonique et à son enregistrement en BDD avec un numéro de version différent ;
Une fois traité, pour acquitter :

Figure 30 : Reset MNEMO_DMD_LECTURE
LINA met MNEMO_DMD_ LECTURE à 0.
Flux de la demande de notification :
Si LINA active une nouvelle version d’un tableau de valeur, une notification avec le code du tableau de valeur associé est envoyée à l’automate dans MNEMO_NOTIF_CHGMNT_TB_VAL. Cas d’un changement de paramètre machine ;

Figure 31 : MNEMO_NOTIF_CHGMNT_TB_VAL
L’automate fait une demande d’écriture :

Figure 32 : MNEMO_DMD_ECRITURE
API écrit :
- MNEMO_NOTIF_CHGMNT_TB_VAL à 0 pour signaler à LINA la prise en charge de la demande ;
- Le code dans MNEMO_DMD_ECRITURE.
Une fois traité, pour acquitter :

Figure 33 : Reset MNEMO_DMD_ECRITURE
LINA écrit :
- MNEMO_DMD_ECRITURE à 0 ;
- Le code dans MNEMO_NOTIF_FIN_ECRITURE_LINA quand LINA a terminé l’envoi.
L’automate acquitte :

Figure 34 : Reset mnemo_notif_fin_écriture_lina
API termine l’échange avec MNEMO_NOTIF_FIN_ECRITURE_LINA à 0.
2.6.2 Gestion du tableau de valeurs
Accéder à Référentiel > Tableau de valeurs :

Figure 35 : Accès Tableau de valeurs

Figure 36 : Ajouter un tableau de valeur
- Clic Nouveau ;
- Nom : DB203_PARAM_SEQ_TRANSFERT est le tableau fonction des déclarations automate ;
- Modèle de structure : UDT_PARAM_TRANSFERT associe la structure correspondante.
Saisir le code du tableau de valeur unique pour chaque tableau, puis Enregistrer fermer.
Dans notre cas de figure, les codes pour chaque tableau sont répertoriés ci-dessous :
⚠ Attention, il y a un travail à faire avec l’automaticien qui définit le code pour chaque tableau.
Paramétrer le mécanisme d’échange des tableaux de valeurs.
Accéder à Référentiel > Device/Mnémonique > Mnémonique :

Figure 38 : Accès Mnémonique
Dans Arborescence mnémonique RACINE > API_CONVOYEUR :

Figure 39 : Édition de la structure PARAM
- Clic DB203_PARAM_SEQ_TRANSFERT ;
- Sélectionner la structure PARAM_203 ;
- Clic Editer.
Affecter les 4 champs avec les mnémoniques correspondants à la structure d’échange qui gère le fonctionnement du tableau de valeur GEST_TB_TRANSFERT :
Les mnémoniques ne peuvent être affectés qu’une fois. Il faut donc qu’une structure de gestion soit déclarée, côté automatisme, pour chaque tableau de valeur.
Le tableau ci-dessous résume quels mnémoniques seront affectés à quels tableaux de valeur :

Figure 41 : Liste des structures gérant les tabvals
Importer toutes les structures ci-dessus.
2.6.3 Utilisation du tableau de valeurs
Le tableau de valeur et son fonctionnement maintenant paramétré, vous pouvez maintenant éditer/gérer vos valeurs : accéder à Référentiel > Versions de tableau de valeurs :

Figure 42 : Accès Versions tableaux de valeurs

Figure 43 : Nouvelle version tableau de valeur
- Cliquer sur Nouveau pour créer une nouvelle version du tableau ;
- Sélectionner le tableau de valeur précédemment édité DB203_PARAM_SEQ_TRANSFERT ;
- Renseigner les valeurs dans le tableau de variable de la fenêtre :
- VALEUR_POIDS_TASSE_G : 100 ;
- CONVERSION_POIDS_TASSE_MG : 1000 ;
- NOMBRE_TASSE : 3 ;
- TEMPO_ATT_MARCHE_CONV : 2 ;
- TEMPO_ATT_ARRET_CONV : 2 ;
- TEMPO_CONV_ARRETE : 2 ;
- Valider les modifications avec Enregistrer fermer.
⚠ Attention : quand le min et le max sont configurés dans LINA, il faut borner également la donnée dans l’automate.
- Sélectionner le tableau créé et changer l’état en Activer :

Figure 44 : Changement état tableau de valeur
État des tableaux de valeurs :
- Activé en vert : c’est le tableau effectif, en mémoire dans l’automate ;
- Édition : c’est une version préparée en attente d’être activée. Pas de numéro de version, n’a jamais été en mémoire dans l’automate ;
- Archivé : c’est une version passée qui a été remplacée dans la mémoire automate ;
- Annulé : supprime un tableau en état Édition.
Le fonctionnement manuel obéit aux règles suivantes :
- Pour activer un tableau, celui-ci doit être en état Édition et n’avoir aucun autre tableau en état Activé ;
- Pour désactiver, il faut le passer en état Archivé ;
- Un tableau Actif ou Archivé ne peut être supprimé, seul un tableau en Édition peut être supprimé ;
- Un tableau Archivé ne peut pas revenir en Activé.
Dans Editer Versions de tableau de valeurs :

Figure 45 : Historique des états d'un tabval
- Cocher l’option Afficher les versions archivées et annulées ☑ pour voir l’historique des tableaux.
- Choisir le tableau DB203_PARAM_SEQ_TRANSFERT ;
- Clic Éditer ;
- Clic Historique état pour voir les détails des changements d’état.
Exercice : Mettre en service une nouvelle version de tableau pour PARAM_DEF_SEUIL_ANA[0], via l’Hypervision. Comparer avec la solution en annexe.
2.6.4 Import gestion tableau de valeur
Pour faciliter la déclaration des mnémoniques attachées à la structure qui sera affectée à un tableau de valeur, il est possible de réaliser une importation dans LINA de sorte à ne pas devoir redéfinir les mnémoniques à chaque fois :
En exemple, nous allons redéclarer la structure PARAM_DEF_SEUIL_ANA[0] avec les 4 mnémoniques de gestion. Ce travail doit également être poussé à toutes les structures précédemment importées (les structures de PARAM_DEF_SEUIL_ANA[0] à PARAM_DEF_SEUIL_ANA[9] ainsi que les PARAM_SEQ).
Pour la création du fichier au format CSV, il faut déclarer les structures PARAM_DEF_SEUIL_ANA comme dans le chapitre 2.5 Import des mnémoniques en structure, mais en leur rajoutant les 4 colonnes pour les mnémoniques de gestion (Écriture, Lecture, Chgt TB val et Fin écriture).
Accéder à Référentiel > Importer des déclarations :

Figure 48 : Accès Importer des déclarations
- Choisir Déclarations et la configuration IMPORT_MEMO ;
- Ajouter les colonnes des mnémoniques de gestion dans Lina :
- Mnémo dmde écriture ;
- Mnémo dmde lecture ;
- Mnémo notification chgt tableau de valeur ;
- Mnémo notification fin écriture tableau par LINA ;
- Importer les données et valider le remplacement des données existantes :

Figure 50 : Bilan de l'import